// 引入评论集合构造函数
const Comment = require('../../../model/comment')

module.exports = async(req, res) => {
  // 获取提交过来的参数（评论人id，评论内容, 被回复的评论cid）
  // type 用户判断是否是回复评论
  // 如果是回复评论，则需要，获取被回复的那个评论id，并将回复评论的id更新到更新到 被回复的评论 的response里

  // 评论人id
  const { uid } = req.params
  // 评论内容， 是否回复， 要回复的评论id
  const { content, type, cid } = req.body

  // 判断是否是回复评论
  if(type == 'response') {
    // 先保存到数据库,并解构获取生成的评论id，层级为1
    const { _id } = await Comment.create({ user: uid, content, level: 1 })
    // console.log(_id)

    // 需要更新被回复的评论cid，里面的response, 就是上面新生成的评论 _id
    await Comment.updateOne({ _id: cid}, {response: _id})
  } else {
    // 如果不是回复评论，保存评论到数据库，层级为0
    const result = await Comment.create({ user: uid, content, level: 0 })
  }

  // 返回信息
  res.send({
    meta: {
      msg: '评论成功',
      status: 201
    }
  })
}